Шаг 857 - CMenu::LoadMenu.

Автор Каев А. Г.
BOOL LoadMenu( LPCTSTR lpszResourceName );
BOOL LoadMenu( UINT nIDResource );

Возвращаемое значение
Отлично от нуля, если ресурс меню был загружен успешно, иначе 0.

Параметры
lpszResourceName
Указатель на строку с нулевым символом в конце, которая содержит имя ресурса меню загрузиться.
nIDResource
Определяет меню ID ресурса меню загрузиться.

Замечания
Загружает ресурс меню из исполняемого файла прикладной программы и присоединяет его к объекту CMenu.
Перед выходом, прикладная программа должна освободить ресурсы системы, связанные с меню, если меню не назначено к окну. Прикладная программа освобождает меню, вызывая DestroyMenu функцию.

Пример

// CMainFrame::OnReplaceMenu() - драйвер команды меню для CMainFrame.
// Класс, который в свою очередь является классом наследником от CFrameWnd. Это загружается новый
// ресурс меню и заменяет SDI строку меню окна прикладной программы 
// этим новым меню. CMainFrame - класс порожденный от CFrameWnd.

void CMainFrame::OnReplaceMenu() 
{
   // Загрузить новое меню.
   m_NewMenu.LoadMenu(IDR_SHORT_MENU);
   ASSERT(m_NewMenu);

   // Удалите и уничтожьте старое меню
   SetMenu(NULL);
   ::DestroyMenu(m_hMenuDefault);

   // Добавьте новое меню
   SetMenu(&m_NewMenu);

   // Назначьте заданное по умолчанию меню
   m_hMenuDefault = m_NewMenu.GetSafeHmenu();  // или m_NewMenu.m_hMenu;
}

Hosted by uCoz